/*
 * @(#) UserDao
 *
 * <br> Copyright:  Copyright (c) 2017
 * <br> @author caijinhuang
 * <br> 2017-12-18 15:57:49
 */

package com.sunsharing.sharemeeting.dao.api;

import org.apache.ibatis.annotations.Param;
import org.springframework.dao.DataAccessException;

import java.util.List;

import com.sunsharing.sharemeeting.entity.User;

public interface UserDao {
    /**
     * 获取用户信息
     * @param username 用户账号
     * @return
     */
    public User selectUserByUserName(@Param("username") String username);

    /**
     * 查询所有用户
     * @return
     */
    public List<User> selectAllUser();

    /**
     * 更新用户信息
     * @return
     */
    public int updateUser(User user);

    /**
     * 修改用户角色
     */
    public int updateUserRole(@Param("roleId") String roleId,@Param("list") List<String> userIdList);

    /**
     * 用户注册
     * @return
     */
    public int insertUser(User user);

    /**
     * 用户批量导入
     */
    public int insertMoreUsers(List<User> users);

    /**
     * 用户账号模糊查询
     */
    public List<User> searchUserByUsername(@Param("username") String username);

    /**
     * 删除用户
     * @param userId 账户Id
     * @return
     */
    public int deleteUser(@Param("userId") String userId);

}